#ifndef LINEAR_EQUATION_H
#define LINEAR_EQUATION_H

#include <string>
#include <vector>

#include "coefficient.h"

using namespace std;

/** This class is used to store and manipulate a linear equation.
 *  It handles proper methods to modify the equation, without knowledge
 *  of the internal representation of Coefficient's.
 */

class LinearEquation {
 public:
  /** Simple Constructor. */
  LinearEquation() {}
  /** Constructor. */
  LinearEquation(int);
  /** Setter for the ith Coefficient. */
  void SetIthCoefficient(int, Coefficient);
  /** Getter for the ith Coefficient. */
  Coefficient GetIthCoefficient(const int);
  /** This method prints the equation to stdout. */
  void PrintEquationToStdout();

 private:
  vector<Coefficient> coefficients_;
};

#endif  // LINEAR_EQUATION_H
